package com.lianniu.web.baseService.area.service;


import com.lianniu.web.base.BaseResult;
import com.lianniu.web.baseService.area.model.AdminAreaVo;



/**
 * @ClassName：IAdminAreaService
 * @Description:行政区域业务接口

 * @Since:2016-03-23
 * @Version:1.0
 */
public interface IAdminAreaService {
  /**
   * 
   * @Description：递归获取所有行政区域（为树做数据基础）
   * @Param:
   * @Return:BaseResult-List<AdminAreaVo>

   * @Date:2016-03-23
   */
  BaseResult getAllArea();
  /**
   * 
   * @Description：根据区域ID获取他父级的区域名称（做展示数据基础）
   * @Param:BigDecimal areaId
   * @Return:BaseResult-List<AdminAreaVo>

   * @Date:2016-03-23
   */
  BaseResult getParentAreaByAreaId(String areaId);
  /**
   * 
   * @Description：根据区域ID来获取此区域的信息
   * @Param:BigDecimal areaId
   * @Return:BaseResult-AdminAreaVo

   * @Date:2016-03-23
   */
  BaseResult getAreaInfoByAreaId(String areaId);
  /**
   * 
   * @Description：新增区域
   * @Param:BaseResult-AdminAreaVo
   * @Return:int

   * @Date:2016-03-23
   */
  BaseResult addAreaInfo(AdminAreaVo asAreaInfoVo);
  /**
   * 
   * @Description:编辑区域
   * @Param:BaseResult-AdminAreaVo
   * @Return:int

   * @Date:2016-03-23
   */
  BaseResult editAreaInfo(AdminAreaVo asAreaInfoVo);
  /**
   * 
   * @Description：为编辑系统区域树做回显初始化数据
   * @Param:String adminAreaId(lianniu_sys_area表的admin_area_id)
   * @Return:List<AdminAreaVo>

   * @Date:2016-04-01
   */
  BaseResult getSelectedArea(String adminAreaId);
  
  /**
   * @Description:根据区域level查询区域信息(adminArea)
   * @param level
   * @return BaseResult 

   * @Date:2016年4月4日
   * @Version 1.0.0
   */
  public BaseResult getByLevel(String level);
  /**
   * @Description:根据parentId查询区域信息(adminArea)
   * @param parentId
   * @return BaseResult

   * @Date:2016年4月4日
   * @Version 1.0.0
   */
  public BaseResult getByParentId(String parentId);
  
  /**
   * @Description:校验区域编码是否重复
   * @param request
   * @return BaseResult

   * @Date:2016年4月10日
   * @Version 1.0.0
   */
  BaseResult isExistAreaCode(String id, String areaCode);
  /**
   * @Title: selectAreaAll 
   * @Description: TODO
   * @author: guoconglin
   * @return
   * @date: 2016年8月16日 下午7:30:00 
   * @return: BaseResult
   */
  public BaseResult selectAreaAll();
  
  public BaseResult getAreaNameByAreaId(String areaId);
}
